Digital camera user interface for video trimming

ABSTRACT

A digital video camera comprising: user controls enabling a user to select between at least an up input, a down input, a left input, a right input, and a confirmation input; and a program memory storing instructions to implement a method for trimming a digital video sequence. The method includes: selecting a digital video sequence; initiating a trimming operation; accepting user input to select a start frame and an end frame for a trimmed digital video sequence, wherein the up input and the down input are used to select between a start frame selection mode and an end frame selection mode, and the left input and the right input are used to scroll through the frames of the selected digital video sequence; and trimming the selected video sequence to include the frames between the selected start frame and the selected end frame.

CROSS-REFERENCE TO RELATED APPLICATIONS

Reference is made to commonly-assigned, co-pending U.S. PatentApplication Publication No. 2011/0281127 entitled “Digital camera userinterface for text entry”, by Boncha et al., which is incorporatedherein by reference.

FIELD OF THE INVENTION

This invention pertains to the field of digital cameras, and moreparticularly to a digital camera having a user interface which uses asmall display screen.

BACKGROUND OF THE INVENTION

Digital cameras typically include a graphic user interface (GUI) toenable various camera modes and features to be selected. In some digitalcameras, a touch-screen color LCD display is used to display variouscontrol elements which can be selected by a user in order to modify thecamera mode or select various camera features. For example, the KODAKSLICE Digital Camera can provide a video trimming feature which enablesvideos captured by the digital camera to be shortened. This isaccomplished using the camera's 3.5 inch diagonal touch screen userinterface to first select a trimming mode by touching an icon associatedwith the trimming feature, and then sliding a finger along a timeline toselect a start frame, and to then select an end frame.

The KODAK SLICE Digital Camera's touch screen user interface can also beused to enter text, such as e-mail addresses and tags. This isaccomplished by first selecting a text entry mode, which displays anentire keyboard of characters, and then touching the keyboard charactersin order to enter a text string.

It is desirable for the digital camera to be very compact and low cost.This may limit the size of the LCD display that can be used in suchdigital cameras. Also, in some cases it is desirable to provide a cameracapable of underwater operation. This may require that the userinterface be provided using a small number of waterproof buttons orswitches, rather than a touch screen, since the touch screen may notoperate properly underwater.

U.S. Pat. No. 5,982,350 to Hekmatpour et al., entitled “Compositerinterface for arranging the components of special effects for a motionpicture production,” discloses a user interface for editing digitalvideo sequences. The user interface provides various functions includinga capability to trim a digital video sequence. The user interfacerequires the use of a pointing device such as a mouse, and would not beappropriate for use on a digital camera.

U.S. Pat. No. 6,600,481 to Brown et al., entitled “Data entry apparatusand method,” discloses a method for entering text strings on portableelectronic devices such as pagers. A set of available characters aredisplayed in three rows. A controller having an up tab, a down tab, aleft tab and a right tab are used to select a particular character forinsertion into the text string. This method is not well-suited for useon devices having small displays because the entire row of charactersmust be presented on the display.

There remains a need to provide a user interface using a limited sizeimage display, and a limited number of user controls, which cannevertheless provide for advanced functions, including video trimmingand text entry.

SUMMARY OF THE INVENTION

The present invention represents a digital video camera for providingtrimmed digital video sequences, comprising:

an image sensor for capturing a digital video sequence;

an optical system for forming an image of a scene onto the image sensor;

a data processing system;

a display;

user controls enabling a user to select between at least an up input, adown input, a left input, a right input, and a confirmation input;

a storage memory for storing digital video sequences, each digital videosequence comprising a sequence of frames; and

a program memory communicatively connected to the data processing systemand storing instructions configured to cause the data processing systemto implement a method for trimming a digital video sequence, wherein themethod includes:

-   -   selecting a digital video sequence stored in the storage memory;    -   initiating a trimming operation;    -   displaying a representation of a frame of the selected digital        video sequence on the display;    -   accepting user input provided using the user controls to select        a start frame and an end frame for a trimmed digital video        sequence, wherein the up input and the down input are used to        select between a start frame selection mode and an end frame        selection mode, and the left input and the right input are used        to scroll through the frames of the selected digital video        sequence in order to select a frame, the displayed        representation being updated responsive to the selected frame,        and wherein the selected frame is selected to be the start frame        when the user has selected the start frame selection mode and        the selected frame is selected to be the end frame when the user        has selected the end frame selection mode;    -   providing the trimmed digital video sequence by trimming the        selected video sequence to include the frames between the        selected start frame and the selected end frame in response to        an activation of the confirmation control; and    -   storing the trimmed digital video sequence in the storage        memory.

The present invention has the advantage that a video trimming operationcan be performed on a digital video camera having a small display and avery limited number of user controls.

It has the additional advantage that the provided user interface is userfriendly and intuitive despite the limited functionality of the usercontrols.

It has the further advantage that the user interface does not requirethe use of a touch-sensitive display, and can therefore be used withdigital video cameras intended for underwater use.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high-level diagram showing the components of a digitalcamera system;

FIG. 2 is a flow diagram depicting typical image processing operationsused to process digital images in a digital camera;

FIG. 3A is a diagram illustrating one embodiment of a back of a digitalcamera according to the present invention;

FIGS. 3B-3D are diagram illustrating alternate embodiments of usercontrols;

FIG. 4 is a flowchart showing steps for providing a digital camera userinterface for a video trimming operation;

FIGS. 5A-5F are diagrams illustrating exemplary user interface screensfor one embodiment of a video trimming workflow;

FIG. 6 is a flowchart showing steps for providing a digital camera userinterface for text entry; and

FIGS. 7A-7F are diagrams illustrating exemplary user interface screensfor one embodiment of a text entry workflow.

It is to be understood that the attached drawings are for purposes ofillustrating the concepts of the invention and may not be to scale.

DETAILED DESCRIPTION OF THE INVENTION

In the following description, a preferred embodiment of the presentinvention will be described in terms that would ordinarily beimplemented as a software program. Those skilled in the art will readilyrecognize that the equivalent of such software can also be constructedin hardware. Because image manipulation algorithms and systems are wellknown, the present description will be directed in particular toalgorithms and systems forming part of, or cooperating more directlywith, the system and method in accordance with the present invention.Other aspects of such algorithms and systems, and hardware or softwarefor producing and otherwise processing the image signals involvedtherewith, not specifically shown or described herein, can be selectedfrom such systems, algorithms, components and elements known in the art.Given the system as described according to the invention in thefollowing materials, software not specifically shown, suggested ordescribed herein that is useful for implementation of the invention isconventional and within the ordinary skill in such arts.

Still further, as used herein, a computer program for performing themethod of the present invention can be stored in a non-transitory,tangible computer readable storage medium, which can include, forexample; magnetic storage media such as a magnetic disk (such as a harddrive or a floppy disk) or magnetic tape; optical storage media such asan optical disc, optical tape, or machine readable bar code; solid stateelectronic storage devices such as random access memory (RAM), or readonly memory (ROM); or any other physical device or medium employed tostore a computer program having instructions for controlling one or morecomputers to practice the method according to the present invention.

Because digital cameras employing imaging devices and related circuitryfor signal capture and processing, and display are well known, thepresent description will be directed in particular to elements formingpart of, or cooperating more directly with, the method and apparatus inaccordance with the present invention. Elements not specifically shownor described herein are selected from those known in the art. Certainaspects of the embodiments to be described are provided in software.Given the system as shown and described according to the invention inthe following materials, software not specifically shown, described orsuggested herein that is useful for implementation of the invention isconventional and within the ordinary skill in such arts.

The invention is inclusive of combinations of the embodiments describedherein. References to “a particular embodiment” and the like refer tofeatures that are present in at least one embodiment of the invention.Separate references to “an embodiment” or “particular embodiments” orthe like do not necessarily refer to the same embodiment or embodiments;however, such embodiments are not mutually exclusive, unless soindicated or as are readily apparent to one of skill in the art. The useof singular or plural in referring to the “method” or “methods” and thelike is not limiting. It should be noted that, unless otherwiseexplicitly noted or required by context, the word “or” is used in thisdisclosure in a non-exclusive sense.

The following description of a digital camera will be familiar to oneskilled in the art. It will be obvious that there are many variations ofthis embodiment that are possible and are selected to reduce the cost,add features or improve the performance of the camera.

FIG. 1 depicts a block diagram of a digital photography system,including a digital camera 10. Preferably, the digital camera 10 is aportable battery operated device, small enough to be easily handheld bya user when capturing and reviewing images. The digital camera 10produces digital images that are stored as digital image files usingimage memory 30. The phrase “digital image” or “digital image file”, asused herein, refers to any digital image file, such as a digital stillimage or a digital video file.

In some embodiments, the digital camera 10 captures both motion videoimages and still images. The digital camera 10 can also include otherfunctions, including, but not limited to, the functions of a digitalmusic player (e.g. an MP3 player), a mobile telephone, a GPS receiver,or a programmable digital assistant (PDA).

The digital camera 10 includes a lens 4 having an adjustable apertureand adjustable shutter 6. In a preferred embodiment, the lens 4 is azoom lens and is controlled by zoom and focus motor drives 8. The lens 4focuses light from a scene (not shown) onto an image sensor 14, forexample, a single-chip color CCD or CMOS image sensor. The lens 4 is onetype optical system for forming an image of the scene on the imagesensor 14. In other embodiments, the optical system may use a fixedfocal length lens with either variable or fixed focus.

The output of the image sensor 14 is converted to digital form by AnalogSignal Processor (ASP) and Analog-to-Digital (A/D) converter 16, andtemporarily stored in buffer memory 18. The image data stored in buffermemory 18 is subsequently manipulated by a processor 20, using embeddedsoftware programs (e.g. firmware) stored in firmware memory 28. In someembodiments, the software program is permanently stored in firmwarememory 28 using a read only memory (ROM). In other embodiments, thefirmware memory 28 can be modified by using, for example, Flash EPROMmemory. In such embodiments, an external device can update the softwareprograms stored in firmware memory 28 using the wired interface 38 orthe wireless modem 50. In such embodiments, the firmware memory 28 canalso be used to store image sensor calibration data, user settingselections and other data which must be preserved when the camera isturned off. In some embodiments, the processor 20 includes a programmemory (not shown), and the software programs stored in the firmwarememory 28 are copied into the program memory before being executed bythe processor 20.

It will be understood that the functions of processor 20 can be providedusing a single programmable processor or by using multiple programmableprocessors, including one or more digital signal processor (DSP)devices. Alternatively, the processor 20 can be provided by customcircuitry (e.g., by one or more custom integrated circuits (ICs)designed specifically for use in digital cameras), or by a combinationof programmable processor(s) and custom circuits. It will be understoodthat connectors between the processor 20 from some or all of the variouscomponents shown in FIG. 1 can be made using a common data bus. Forexample, in some embodiments the connection between the processor 20,the buffer memory 18, the image memory 30, and the firmware memory 28can be made using a common data bus.

The processed images are then stored using the image memory 30. It isunderstood that the image memory 30 can be any form of memory known tothose skilled in the art including, but not limited to, a removableFlash memory card, internal Flash memory chips, magnetic memory, oroptical memory. In some embodiments, the image memory 30 can includeboth internal Flash memory chips and a standard interface to a removableFlash memory card, such as a Secure Digital (SD) card. Alternatively, adifferent memory card format can be used, such as a micro SD card,Compact Flash (CF) card, MultiMedia Card (MMC), xD card or Memory Stick.

The image sensor 14 is controlled by a timing generator 12, whichproduces various clocking signals to select rows and pixels andsynchronizes the operation of the ASP and A/D converter 16. The imagesensor 14 can have, for example, 12.4 megapixels (4088×3040 pixels) inorder to provide a still image file of approximately 4000×3000 pixels.To provide a color image, the image sensor is generally overlaid with acolor filter array, which provides an image sensor having an array ofpixels that include different colored pixels. The different color pixelscan be arranged in many different patterns. As one example, thedifferent color pixels can be arranged using the well-known Bayer colorfilter array, as described in commonly assigned U.S. Pat. No. 3,971,065,“Color imaging array” to Bayer, the disclosure of which is incorporatedherein by reference. As a second example, the different color pixels canbe arranged as described in commonly assigned U.S. Patent ApplicationPublication 2007/0024931 to Compton and Hamilton, entitled “Image sensorwith improved light sensitivity”, the disclosure of which isincorporated herein by reference. These examples are not limiting, andmany other color patterns may be used.

It will be understood that the image sensor 14, timing generator 12, andASP and A/D converter 16 can be separately fabricated integratedcircuits, or they can be fabricated as a single integrated circuit as iscommonly done with CMOS image sensors. In some embodiments, this singleintegrated circuit can perform some of the other functions shown in FIG.1, including some of the functions provided by processor 20.

The image sensor 14 is effective when actuated in a first mode by timinggenerator 12 for providing a motion sequence of lower resolution sensorimage data, which is used when capturing video images and also whenpreviewing a still image to be captured, in order to compose the image.This preview mode sensor image data can be provided as HD resolutionimage data, for example, with 1280×720 pixels, or as VGA resolutionimage data, for example, with 640×480 pixels, or using other resolutionswhich have significantly columns and rows of data, compared to theresolution of the image sensor.

The preview mode sensor image data can be provided by combining valuesof adjacent pixels having the same color, or by eliminating some of thepixels values, or by combining some color pixels values whileeliminating other color pixel values. The preview mode image data can beprocessed as described in commonly assigned U.S. Pat. No. 6,292,218 toParulski, et al., entitled “Electronic camera for initiating capture ofstill images while previewing motion images”, which is incorporatedherein by reference.

The image sensor 14 is also effective when actuated in a second mode bytiming generator 12 for providing high resolution still image data. Thisfinal mode sensor image data is provided as high resolution output imagedata, which for scenes having a high illumination level includes all ofthe pixels of the image sensor, and can be, for example, a 12 megapixelfinal image data having 4000×3000 pixels. At lower illumination levels,the final sensor image data can be provided by “binning” some number oflike-colored pixels on the image sensor, in order to increase the signallevel and thus the “ISO speed” of the sensor.

The zoom and focus motor drivers 8 are controlled by control signalssupplied by the processor 20, to provide the appropriate focal lengthsetting and to focus the scene onto the image sensor 14. The exposurelevel of the image sensor 14 is controlled by controlling the f/numberand exposure time of the adjustable aperture and adjustable shutter 6,the exposure period of the image sensor 14 via the timing generator 12,and the gain (i.e., ISO speed) setting of the ASP and A/D converter 16.The processor 20 also controls a flash 2 which can illuminate the scene.In some embodiments of the present invention, the flash 2 has anadjustable correlated color temperature. For example, the flashdisclosed in U.S. Patent Application Publication 2008/0297027 to Milleret al., entitled “Lamp with adjustable color”, can be used to produceillumination having different color balances for different environmentalconditions, such as having a higher proportion of red light when thedigital camera 10 is operated underwater.

The lens 4 of the digital camera 10 can be focused in the first mode byusing “through-the-lens” autofocus, as described in commonly-assignedU.S. Pat. No. 5,668,597, entitled “Electronic Camera with RapidAutomatic Focus of an Image upon a Progressive Scan Image Sensor” toParulski et al., which is incorporated herein by reference. This isaccomplished by using the zoom and focus motor drivers 8 to adjust thefocus position of the lens 4 to a number of positions ranging between anear focus position to an infinity focus position, while the processor20 determines the closest focus position which provides a peak sharpnessvalue for a central portion of the image captured by the image sensor14. The focus distance can be stored as metadata in the image file,along with other lens and camera settings.

The processor 20 produces menus and low resolution color images that aretemporarily stored in display memory 36 and are displayed on the imagedisplay 32. The image display 32 is typically an active matrix colorliquid crystal display (LCD), although other types of displays, such asorganic light emitting diode (OLED) displays, can be used. A videointerface 44 provides a video output signal from the digital camera 10to a video display 46, such as a flat panel HDTV display. In previewmode, or video mode, the digital image data from buffer memory 18 ismanipulated by processor 20 to form a series of motion preview imagesthat are displayed, typically as color images, on the image display 32.In review mode, the images displayed on the image display 32 areproduced using the image data from the digital image files stored inimage memory 30.

The graphical user interface displayed on the image display 32 includesvarious user control elements which can be selected by user controls 34.The user controls 34 are used to select various camera modes, such asvideo capture mode, still capture mode, and review mode, and to initiatecapture of still images and recording of motion images. In someembodiments, the first mode described above (i.e. still preview mode) isinitiated when the user partially depresses an image capture button,which is one of the user controls 34, and the second mode (i.e., stillimage capture mode) is initiated when the user fully depresses the imagecapture button. The user controls 34 are also used to turn on thecamera, control the lens 4, and initiate the picture taking process.User controls 34 typically include some combination of buttons, rockerswitches, joysticks, or rotary dials. In some embodiments, some of theuser controls 34 are provided by using a touch screen overlay on theimage display 32 having one or more touch-sensitive user controlelements.

An audio codec 22 connected to the processor 20 receives an audio signalfrom a microphone 24 and provides an audio signal to a speaker 26. Thesecomponents can be to record and playback an audio track, along with avideo sequence or still image. If the digital camera 10 is amulti-function device such as a combination camera and mobile phone, themicrophone 24 and the speaker 26 can be used for telephone conversation.In some embodiments, microphone 24 is capable of recording sounds in airand also in an underwater environment when the digital camera 10 is usedto record underwater images according to the method of the presentinvention. In other embodiments, the digital camera 10 includes both aconventional air microphone as well as an underwater microphone(hydrophone) capable of recording underwater sounds.

In some embodiments, the speaker 26 can be used as part of the userinterface, for example to provide various audible signals which indicatethat a user control has been depressed, or that a particular mode hasbeen selected. In some embodiments, the microphone 24, the audio codec22, and the processor 20 can be used to provide voice recognition, sothat the user can provide a user input to the processor 20 by usingvoice commands, rather than user controls 34. The speaker 26 can also beused to inform the user of an incoming phone call. This can be doneusing a standard ring tone stored in firmware memory 28, or by using acustom ring-tone downloaded from a wireless network 58 and stored in theimage memory 30. In addition, a vibration device (not shown) can be usedto provide a silent (e.g., non audible) notification of an incomingphone call.

The processor 20 also provides additional processing of the image datafrom the image sensor 14, in order to produce rendered sRGB image datawhich is compressed and stored within a “finished” image file, such as awell-known Exif-JPEG image file, in the image memory 30.

The digital camera 10 can be connected via the wired interface 38 to aninterface/recharger 48, which is connected to a computer 40, which canbe a desktop computer or portable computer located in a home or office.The wired interface 38 can conform to, for example, the well-known USB2.0 interface specification. The interface/recharger 48 can providepower via the wired interface 38 to a set of rechargeable batteries (notshown) in the digital camera 10.

The digital camera 10 can include a wireless modem 50, which interfacesover a radio frequency band 52 with the wireless network 58. Thewireless modem 50 can use various wireless interface protocols, such asthe well-known Bluetooth wireless interface or the well-known 802.11wireless interface. The computer 40 can upload images via the Internet70 to a photo service provider 72, such as the Kodak EasyShare Gallery.Other devices (not shown) can access the images stored by the photoservice provider 72.

In alternative embodiments, the wireless modem 50 communicates over aradio frequency (e.g. wireless) link with a mobile phone network (notshown), such as a 3GSM network, which connects with the Internet 70 inorder to upload digital image files from the digital camera 10. Thesedigital image files can be provided to the computer 40 or the photoservice provider 72.

In some embodiments, the digital camera 10 is a water proof digitalcamera capable of being used to capture digital images underwater andunder other challenging environmental conditions, such as in rain orsnow conditions. For example, the digital camera 10 can be used by scubadivers exploring a coral reef or by children playing at a beach. Toprevent damage to the various camera components, the digital camera 10includes a watertight housing (not shown).

FIG. 2 is a flow diagram depicting image processing operations that canbe performed by the processor 20 in the digital camera 10 (FIG. 1) inorder to process color sensor data 100 from the image sensor 14 outputby the ASP and A/D converter 16. In some embodiments, the processingparameters used by the processor 20 to manipulate the color sensor data100 for a particular digital image are determined by various usersettings 175, which are typically associated with photography modes thatcan be selected via the user controls 34, which enable the user toadjust various camera settings 185 in response to menus displayed on theimage display 32. In a preferred embodiment, the user control elementsavailable in the menus are adjusted responsive to sensed environmentalconditions.

The color sensor data 100 which has been digitally converted by the ASPand A/D converter 16 is manipulated by a white balance step 95. In someembodiments, this processing can be performed using the methodsdescribed in commonly-assigned U.S. Pat. No. 7,542,077 to Miki, entitled“White balance adjustment device and color identification device”, thedisclosure of which is herein incorporated by reference. The whitebalance can be adjusted in response to a white balance setting 90, whichcan be manually set by a user, or can be automatically set to differentvalues when the camera is used in different environmental conditions, aswill be described later in reference to FIG. 4.

The color image data is then manipulated by a noise reduction step 105in order to reduce noise from the image sensor 14. In some embodiments,this processing can be performed using the methods described incommonly-assigned U.S. Pat. No. 6,934,056 to Gindele et al., entitled“Noise cleaning and interpolating sparsely populated color digital imageusing a variable noise cleaning kernel”, the disclosure of which isherein incorporated by reference. The level of noise reduction can beadjusted in response to an ISO setting 110, so that more filtering isperformed at higher ISO exposure index setting.

The color image data is then manipulated by a demosaicing step 115, inorder to provide red, green and blue (RGB) image data values at eachpixel location. Algorithms for performing the demosaicing step 115 arecommonly known as color filter array (CFA) interpolation algorithms or“deBayering” algorithms. In one embodiment of the present invention, thedemosaicing step 115 can use the luminance CFA interpolation methoddescribed in commonly-assigned U.S. Pat. No. 5,652,621, entitled“Adaptive color plane interpolation in single sensor color electroniccamera”, to Adams et al., the disclosure of which is incorporated hereinby reference. The demosaicing step 115 can also use the chrominance CFAinterpolation method described in commonly-assigned U.S. Pat. No.4,642,678, entitled “Signal processing method and apparatus forproducing interpolated chrominance values in a sampled color imagesignal”, to Cok, the disclosure of which is herein incorporated byreference.

In some embodiments, the user can select between different pixelresolution modes, so that the digital camera can produce a smaller sizeimage file. Multiple pixel resolutions can be provided as described incommonly-assigned U.S. Pat. No. 5,493,335, entitled “Single sensor colorcamera with user selectable image record size”, to Parulski et al., thedisclosure of which is herein incorporated by reference. In someembodiments, a resolution mode setting 120 can be selected by the userto be full size (e.g. 3,000×2,000 pixels), medium size (e.g. 1,500×1000pixels) or small size (750×500 pixels).

The color image data is color corrected in color correction step 125. Insome embodiments, the color correction is provided using a 3×3 linearspace color correction matrix, as described in commonly-assigned U.S.Pat. No. 5,189,511, entitled “Method and apparatus for improving thecolor rendition of hardcopy images from electronic cameras” to Parulski,et al., the disclosure of which is incorporated herein by reference. Insome embodiments, different user-selectable color modes can be providedby storing different color matrix coefficients in firmware memory 28 ofthe digital camera 10. For example, four different color modes can beprovided, so that the color mode setting 130 is used to select one ofthe following color correction matrices:

Setting 1 (Normal Color Reproduction)

$\begin{matrix}{\begin{bmatrix}R_{out} \\G_{out} \\B_{out}\end{bmatrix} = {\begin{bmatrix}1.50 & {- 0.30} & {- 0.20} \\{- 0.40} & 1.80 & {- 0.40} \\{- 0.20} & {- 0.20} & 1.40\end{bmatrix}\begin{bmatrix}R_{i\; n} \\G_{i\; n} \\B_{i\; n}\end{bmatrix}}} & (1)\end{matrix}$Setting 2 (Saturated Color Reproduction)

$\begin{matrix}{\begin{bmatrix}R_{out} \\G_{out} \\B_{out}\end{bmatrix} = {\begin{bmatrix}2.00 & {- 0.60} & {- 0.40} \\{- 0.80} & 2.60 & {- 0.80} \\{- 0.40} & {- 0.40} & 1.80\end{bmatrix}\begin{bmatrix}R_{i\; n} \\G_{i\; n} \\B_{i\; n}\end{bmatrix}}} & (2)\end{matrix}$Setting 3 (De-Saturated Color Reproduction)

$\begin{matrix}{\begin{bmatrix}R_{out} \\G_{out} \\B_{out}\end{bmatrix} = {\begin{bmatrix}1.25 & {- 0.15} & {- 0.10} \\{- 0.20} & 1.40 & {- 0.20} \\{- 0.10} & {- 0.10} & 1.20\end{bmatrix}\begin{bmatrix}R_{i\; n} \\G_{i\; n} \\B_{i\; n}\end{bmatrix}}} & (3)\end{matrix}$Setting 4 (Monochrome)

$\begin{matrix}{\begin{bmatrix}R_{out} \\G_{out} \\B_{out}\end{bmatrix} = {\begin{bmatrix}0.30 & 0.60 & 0.10 \\0.30 & 0.60 & 0.10 \\0.30 & 0.60 & 0.10\end{bmatrix}\begin{bmatrix}R_{i\; n} \\G_{i\; n} \\B_{i\; n}\end{bmatrix}}} & (4)\end{matrix}$Setting 5 (Nominal Underwater Color Reproduction)

$\begin{matrix}{\begin{bmatrix}R_{out} \\G_{out} \\B_{out}\end{bmatrix} = {\begin{bmatrix}3.00 & {- 0.30} & {- 0.20} \\{- 0.80} & 1.80 & {- 0.40} \\{- 0.40} & {- 0.20} & 1.40\end{bmatrix}\begin{bmatrix}R_{i\; n} \\G_{i\; n} \\B_{i\; n}\end{bmatrix}}} & (5)\end{matrix}$

The color image data is also manipulated by a tone scale correction step135. In some embodiments, the tone scale correction step 135 can beperformed using a one-dimensional look-up table as described in U.S.Pat. No. 5,189,511, cited earlier. In some embodiments, a plurality oftone scale correction look-up tables is stored in the firmware memory 28in the digital camera 10. These can include look-up tables which providea “normal” tone scale correction curve, a “high contrast” tone scalecorrection curve, and a “low contrast” tone scale correction curve. Auser selected contrast setting 140 is used by the processor 20 todetermine which of the tone scale correction look-up tables to use whenperforming the tone scale correction step 135.

The color image data is also manipulated by an image sharpening step145. In some embodiments, this can be provided using the methodsdescribed in commonly-assigned U.S. Pat. No. 6,192,162 entitled “Edgeenhancing colored digital images” to Hamilton, et al., the disclosure ofwhich is incorporated herein by reference. In some embodiments, the usercan select between various sharpening settings, including a “normalsharpness” setting, a “high sharpness” setting, and a “low sharpness”setting. In this example, the processor 20 uses one of three differentedge boost multiplier values, for example 2.0 for “high sharpness”, 1.0for “normal sharpness”, and 0.5 for “low sharpness” levels, responsiveto a sharpening setting 150 selected by the user of the digital camera10. In some embodiments, different image sharpening algorithms can bemanually or automatically selected, depending on the environmentalcondition.

The color image data is also manipulated by an image compression step155. In some embodiments, the image compression step 155 can be providedusing the methods described in commonly-assigned U.S. Pat. No.4,774,574, entitled “Adaptive block transform image coding method andapparatus” to Daly et al., the disclosure of which is incorporatedherein by reference. In some embodiments, the user can select betweenvarious compression settings. This can be implemented by storing aplurality of quantization tables, for example, three different tables,in the firmware memory 28 of the digital camera 10. These tables providedifferent quality levels and average file sizes for the compresseddigital image file 180 to be stored in the image memory 30 of thedigital camera 10. A user selected compression mode setting 160 is usedby the processor 20 to select the particular quantization table to beused for the image compression step 155 for a particular image.

The compressed color image data is stored in a digital image file 180using a file formatting step 165. The image file can include variousmetadata 170. Metadata 170 is any type of information that relates tothe digital image, such as the model of the camera that captured theimage, the size of the image, the date and time the image was captured,and various camera settings, such as the lens focal length, the exposuretime and F/# of the lens, and whether or not the camera flash fired. Insome embodiments, the metadata 170 can also include one or moreenvironmental readings 190 provided by appropriate environmental sensorsassociated with the digital camera 10. For example, an underwater sensor(not shown) can be used to provide an environmental reading indicatingwhether the digital camera 10 is being operated underwater. Similarly, aGlobal Positioning System (GPS) sensor (not shown) can be used toprovide an environmental reading indicating a geographical location, oran inertial motion sensor such as a gyroscope or an accelerometer can beused to provide an environmental reading indicating a camera motion ororientation. In a preferred embodiment, all of this metadata 170 isstored using standardized tags within the well-known Exif-JPEG stillimage file format.

In accordance with the present invention, there are provided methods toperform a number of user interface tasks on a device having a smallimage display 32 using a minimal set of user controls. While there havebeen many different user interfaces for digital cameras and otherportable electronic devices that have been disclosed in the prior art,they are typically designed to work with devices that have large imagedisplays 32 and a large number of different buttons or touch activatedcontrols. However, such components add significant cost to the device.Therefore, to produce low-cost devices, there is a desire to minimizethe size of the display and the number of user controls. However, thishas presented significant challenges relative to designing userinterfaces that allow users to perform some common tasks in an intuitiveand efficient fashion. The present invention is directed to solutions tothis problem for several important tasks. Specifically, user interfacemethods are described for performing video trimming operations and textstring entry operations. These methods are particularly well-suited forimage displays 32 that are not touch-sensitive and have a diagonaldimension of less than 2 inches, although they can also be employed fortouch sensitive displays and larger displays.

FIG. 3A is a diagram showing a rear view of the digital camera 10according to one exemplary embodiment. The digital camera includes animage display 32, as well as various user controls 34. According to apreferred embodiment, the user controls 34 include a set of five inputs:an up input, a down input, a left input, a right input, and aconfirmation input. In the exemplary embodiment of FIG. 3A, thesecontrols are provided by a five-way controller 300. The five-waycontroller 300 includes five buttons: an up input button 305, a downinput button 310, a left input button 315, a right input button 320, anda confirmation input button 325. The digital camera 10 can also includeany other user controls that are known in the art. In the embodiment ofFIG. 3A, the user controls 34 also include a share button 330, a deletebutton 335, a review button 340, capture mode button 345, and a toolsbutton 350.

In the embodiment of FIG. 3A the five-way controller 300 is a solidcircular disk, wherein each of the buttons are activated by pressing onan appropriate location on the circular disk. In other embodiments, thefive-way controller 300 can include a controller ring 360 surrounding aseparate confirmation input button 325 as is illustrated in FIG. 3B. Inthis configuration, the controller ring 360 provides the up input button305, the down input button 310, the left input button 315 and the rightinput button 320, which are activated by pressing on the correspondingside of the controller ring 360.

In other embodiments, the five inputs (i.e., the up input, the downinput, the left input, the right input, and the confirmation input) canbe provided by other types of user controls 34 that are well-known inthe art. For example, FIG. 3C shows a configuration where the fiveinputs are provided by five individual buttons (i.e., up input button305, down input button 310, left input button 315, right input button320, and confirmation input button 325). Similarly, FIG. 3D showsanother configuration where the five inputs are provided by a joy stick365. The joy stick 365 can be pushed in an up direction 370 to providethe up input, in a down direction 375 to provide the down input, in aleft direction 380 to provide the left input, and in a right direction385 to provide the right input. The confirmation input can be providedby pressing on the end of the joy stick 365, or alternately by aseparate confirmation input button (not shown).

A method for providing a user interface on a digital camera 10 fortrimming a captured digital video sequence will now be described withreference to FIG. 4. The method is provided on a digital camera 10 (FIG.3A) having video image capture capabilities, which has been used tocapture one or more digital video sequences. The method is particularlysuitable for use with digital cameras 10 using image displays 32 havinga relatively small size.

A select captured video step 400 is used to select a previously captureddigital video sequence 405. The select captured video step 400 can beperformed using any convenient user controls known in the art. In someembodiments, the user can perform this step by entering a review modeusing the review button 340 (FIG. 3A). The user can then use the usercontrols 34 to select a particular digital video sequence 405. Forexample, the left input button 315 and the right input button 320 can beused to sequence through the previously captured digital still imagesand digital video sequences that are stored in the image memory 30 (FIG.1). When the desired digital video sequence 405 has been located, theconfirmation input button 325 can be used to select it.

Once a particular digital video sequence 405 has been selected, the usercan perform various actions. For example, the selected digital videosequence 405 can be played, or it can be edited. One type of videoediting operation that can be performed in accordance with the presentinvention is a video trimming operation, in which the user can trim oneor both ends of the selected digital video sequence 405 to provide ashorter trimmed digital video sequence 440 containing only a portion ofthe selected digital video sequence. For example, the user may desire totrim the selected digital video sequence 405 to include only the mostinteresting portion. The video trimming operation involves selecting astart frame and an end frame, designating the portion of the selecteddigital video sequence 405 to be included in the trimmed digital videosequence 440.

An initiate trimming operation step 410 is used to initiate the videotrimming operation. The initiate trimming operation step 410 can beperformed using any convenient user controls known in the art. Forexample, once the particular digital video sequence 405 has beenselected with the select captured video step 400, the first frame of theselected digital video sequence 405 can be displayed on the imagedisplay 32 (FIG. 3A). In a preferred embodiment, if the user presses theconfirmation input button, the selected digital video sequence 405 isplayed, and if the user presses the tools button 350 a menu of availableediting operations is displayed. The user can then select the videotrimming operation using the up input button 305 and the down inputbutton 310. The video trimming operation can then be initiated bypressing the confirmation input button 325. It will be obvious to oneskilled in the art that a wide variety of different user interfaceconfigurations can be used to perform the initiate trimming operationstep 410 according to various embodiments.

Next, an optional display instructions step 415 is used to display aninstructions screen on the image display 32 (FIG. 3A), providing theuser with information that will be helpful for understanding thebehavior of the user interface during the video trimming operation. In apreferred embodiment, the instructions screen includes an indication ofthe function of appropriate user controls 34 (FIG. 3A) during the videotrimming operation. An example of a user interface screen 500 that canbe displayed by the display instructions step 415 is shown in FIG. 5A.Select marker instructions 505 provide an indication that the up inputand the down input can be used to select between a start frame markerand an end frame marker. Move marker instructions 510 provide anindication that the left input and the right input can be used to movethe selected frame marker. Next instructions 515 provide an indicationthat the confirmation input can be used to advance to the next step inthe trimming operation. An OK control 520 provides an indication thatthe user should activate the confirmation input when he is done lookingat the user interface screen 500.

Returning to a discussion of FIG. 4, a display frame representation step420 is used to display a representation of a frame from the selecteddigital video sequence 405 on the image display 32 (FIG. 3A), togetherwith appropriate user interface elements. In a preferred embodiment, thedisplayed frame that is initially displayed is the first frame in theselected digital video sequence 405.

FIG. 5B shows an example of a user interface screen 525 showing adisplayed video frame 530 corresponding to the first frame of theselected digital video sequence 405 (FIG. 4). A timeline 535 representsthe time interval of the selected digital video sequence 405. A startframe marker 540 indicates the start frame for the trimmed digital videosequence 440 (FIG. 4) and an end frame marker 545 indicates the endframe for the trimmed digital video sequence 440. The positions of thestart frame marker 540 and the end frame marker 545 relative to thetimeline 535 provides an indication of the relative position of therespective frames within the selected digital video sequence 405. At thestart of the video trimming operation, the start frame marker 540 ispositioned at the first frame of the selected digital video sequence405, the end frame marker 545 is positioned at the last frame of theselected digital video sequence 405, and the entire timeline 535 ishighlighted indicating that the entire digital video sequence 405 isinitially included in the trimmed digital video sequence 440. Initially,the video trimming operation starts out in a start frame selection mode.Accordingly, the start frame marker 540 is highlighted indicating thatit is the active frame marker.

An accept user input step 425 (FIG. 4) is used to accept input from theuser to select the start frame (and also the end frame) for the trimmeddigital video sequence 440 (FIG. 4). The user can use the right inputbutton 320 (FIG. 3A) and left input button 315 (FIG. 3A) to adjust theposition of the start frame marker 540 (FIG. 5B) in order to adjust thestarting point for the trimmed digital video sequence 440. As theposition of the start frame marker 540 is adjusted, the displayed videoframe 530 (FIG. 5B) is adjusted to show the corresponding frame of theselected digital video sequence 405 (FIG. 4).

In a preferred embodiment, if the right input button 320 is held down,the start frame marker 540 advances across the timeline 535 and thedisplayed video frame 530 advances through the selected digital videosequence 405 at a predefined fast forward rate. In some embodiments, thepredefined fast forward rate is increased if the right input button 320is held for an extended period of time. In a preferred embodiment, ifthe right input button 320 is pressed and released without holding it,then the start frame marker 540 advances by a predefined number of videoframes corresponding to a predefined small time interval. Similarly, theleft input button 315 can be used to move the start frame marker 540 tothe left, thereby moving through the selected digital video sequence ina reverse direction.

FIG. 5C shows an example of a user interface screen 550 where theposition of the start frame marker 540 has been moved to the rightpartway across the timeline 535. The portion of the timeline between thestart frame marker 540 and the end frame marker 545 is highlightedindicating a trimmed timeline portion 560. The portion of the timeline535 to the left of the start frame marker 540 is not highlighted,indicating an excluded start timeline portion 555.

If the user now presses the up input button 305 (or the down inputbutton 310), the mode is changed from the start frame selection mode toan end frame selection mode. This is illustrated in the user interfacescreen 565 of FIG. 5D, which is identical to the user interface screen550 of FIG. 5C except that the end frame marker 545 is now highlightedrather than the start frame marker 540. (The highlighting of thecorresponding frame marker provides a graphical indication of whetherthe user has selected the start frame selection mode or then end frameselection mode.) The displayed video frame 530 now shows the video framecorresponding to the end frame marker 545 (initially the last frame ofthe selected digital video sequence 405).

In the end frame selection mode, the right input button 320 (FIG. 3A)and left input button 315 (FIG. 3A) can be used to adjust the positionof the end frame marker 545 in order to adjust the ending point for thetrimmed digital video sequence 440. As the position of the end framemarker 545 is adjusted, the displayed video frame 530 is adjusted toshow the corresponding frame of the selected digital video sequence 405.The behavior of the right input button 320 and left input button 315 inthe end frame selection mode will be analogous to those described abovefor the start frame selection mode.

FIG. 5E shows an example of a user interface screen 570 where theposition of the end frame marker 545 has been moved to the left partwayacross the timeline 535. As described earlier, the portion of thetimeline between the start frame marker 540 and the end frame marker 545is highlighted indicating the trimmed timeline portion 560. The portionof the timeline 535 to the right of the end frame marker 545 is nothighlighted, indicating an excluded end timeline portion 575.

The up input button 305 (or the down input button 310) can be used totoggle back and forth between the start frame selection mode and the endframe selection mode. In this way, the user can fine tune the positionof the start frame marker 540 and the end frame marker 545 until he/sheis satisfied with the designated trimmed digital video sequence 440(FIG. 4). At that point, the user can press the confirmation inputbutton 325 to move to the next step in the video trimming operation.

In a preferred embodiment, pressing the confirmation input button 325terminates the accept user input step 425 (FIG. 4) and advances thevideo trimming operation to the next step. In some embodiments,terminating the accept user input step 425 causes the trimmed digitalvideo sequence 440 to be formed and stored in a processor-accessiblememory. In other embodiments, it only causes an indication of theselected start frame and end frame to be stored so that they can be usedat a later time to form the trimmed digital video sequence 440.

In some embodiments, if the user presses the confirmation input button325 before they have entered the end frame selection mode using the upinput button 305 or the down input button 310, then rather thanadvancing immediately to a confirm trimming selection step 430, thevideo trimming operation makes the assumption that the user will firstwant to enter the end frame selection mode. In this case, a secondactivation of the confirmation input button 325 will advance the videotrimming operation to the confirm trimming selection step 430.

In a preferred embodiment, terminating the accept user input step 425causes the video trimming process to advance to an optional confirmtrimming selection step 430. In other embodiments, this step can beomitted and the video trimming process can advance directly to a providetrimmed video step 435.

FIG. 5F shows an example of a user interface screen 580 that can be usedfor the confirm trimming selection step 430. The user interface screen580 includes a set of menu choices 585, indicating the availableoptions. A selection box 590 is positioned over the currently selectedchoice. The up input button 305 (FIG. 3A) and the down input button 310(FIG. 3A) can be used to move the selection box 590 up or down throughthe list of menu choices 585. When the selection box 590 is over thedesired choice, the user can activate that choice using the confirmationinput button 325 (FIG. 3A).

The menu choices 585 include a “Go Back” choice which can be used toreturn to the start/end frame selection process. A “Preview TrimmedVideo” choice can be used to preview the trimmed digital video sequence440 as specified by the selected start frame and end frame. An “Exit”choice exits the video trimming operation without saving the trimmeddigital video sequence 440. A “Save as New” choice causes the videotrimming operation to advance to a provide trimmed video step 435 (FIG.4), which forms the trimmed digital video sequence 440 by trimming theselected digital video sequence 405 to include the frames between theselected start frame and end frame. A store trimmed video sequence step445 is then used to store the trimmed digital video sequence 440 in theimage memory 30 (FIG. 1).

In a preferred embodiment, the trimmed digital video sequence 440 isstored as a separate digital video file, retaining both the originaldigital video sequence 405 and the trimmed digital video sequence 440.In other embodiments, the original digital video sequence 405 can bereplaced by the trimmed digital video sequence 440, or two differentoptions can be provided allowing the user to choose either save method(e.g., by providing both a “Save as New” choice and a “Save” choice).

In some embodiments, the digital video sequence 405 is stored in acompressed digital video file. Typically, some of the frames in acompressed digital video files are “I-frames,” which are encoded usingintra-frame compression that is independent of any other frames, andother frames are “P-frames” or “B-frames” that are encoded usingpredictions based on other nearby frames. Therefore, I-frames can bedecoded without the need to decode any other frames. In someembodiments, the video trimming operation can be constrained so that thetrimmed digital video sequence 440 always begins on an I-frame withinthe digital video sequence 405. This is advantageous relative to theprocessing required for the provide trimmed video step 435 and the storetrimmed video sequence step 445.

In some embodiments, rather than storing the trimmed digital videosequence 440 in a digital video file, the store trimmed video sequencestep 445 can store metadata associated with the original digital videosequence 405 indicating the start frame and the end frame specified forthe trimmed digital video sequence 440. Then, when the digital videosequence 405 is played using a video player that knows how to interpretthe metadata, it can play the trimmed digital video sequence 440 ratherthan the entire digital video sequence 405. In some embodiments, themetadata is stored within the digital file containing the digital videosequence 405. In other embodiments, the metadata can be stored in aseparate digital file.

In some embodiments, an option can be provided to select an optionaltrimming mode where the trimmed digital video sequence 440 is formed bydeleting the frames between the selected start frame and the selectedend frame from the digital video sequence 405, rather than keeping theseframes. For example, a user interface control can be provided to togglebetween a “keep frames trimming mode” and a “delete frames trimmingmode.”

FIG. 6 is a flowchart of a text entry method for providing auser-specified input string for a portable electronic device. Thismethod will be described in the context of the digital camera 10 of FIG.3A. However, it will be obvious to one skilled in the art that it isalso applicable to a wide variety of different portable electronicdevices such as cell-phones and digital media players. The method iswell-suited to use with devices having a relatively small display screen(e.g., having a diagonal dimension of less than 2 inches) and a limitedset of user controls including an up input button 305, a down inputbutton 310, a left input button 315, a right input button 320, and aconfirmation input button 325.

There are a variety of different needs for providing user-specifiedinput strings for a portable electronic device. For example, the digitalcamera 10 of FIG. 3A includes a share button 330, which can be used todesignate a sharing destination for a captured digital still image ordigital video sequence. The sharing destination can include an E-mailaddress, a social networking account identifier (e.g., a Facebookaccount identifier) or a website URL, each of which may requireproviding a user-specified input string. Other applications foruser-specified input strings would include providing user-specifiedimage captions and entering wireless networking passwords.

An initiate string input operation step 605 is executed when the userinitiates an operation that requires the user to specify an input textstring. For example, the user may initiate a sharing operation to anE-mail address.

Next, a display string input interface step 610 is used to display auser interface for receiving string input on the image display 32 (FIG.3A). An example user interface screen 700 representing a preferredembodiment is shown in FIG. 7A. The user interface screen 700 includes astring input section 705 for displaying the user-specified input string.An insertion point indicator 785 shows the location in the input stringwhere a new character can be added. A character deletion control 710 isalso included to enable the user to delete previously entered charactersin the input string.

The user interface screen also includes two independently scrollablecharacter selection sections: an alphabetic character selection section715 and a numeric/symbolic character selection section 720. Eachcharacter selection section enables the user to select from acorresponding predefined set of characters. The alphabetic characterselection section 715 enables the user to select from the alphabeticcharacters from “a” to “z”. The numeric/symbolic character selectionsection 720 enables the user to select from numeric characters between“0” and “9”, as well as a selection of common symbolic characters (e.g.,“@ & / * . , $ ! - { } % + ?”). Due to the small size of the imagedisplay 32 (FIG. 3A), only a subset of the corresponding predefined setof characters are displayed in each of the character selection sectionsat a particular time. The remainder of the characters can be accessedusing scrolling operations. This approach solves the problem that, dueto the small size of the image display 32, displaying all of thealphabetic characters at the same time on the image display 32 wouldrequire that the individual characters be too small to be easilyreadable by the user.

The user interface screen 700 also includes a control section includingselectable controls for terminating the string input operation. Theselectable controls include a cancel control 725 and an OK control 730.A selected character section box 735 provides an indication of thecurrently selected character selection section. Arrow symbols at theleft and right ends of the selected character section box 735 provide anindication that the character selection section is scrollable. Aselected character 740 is highlighted to indicate the character that cancurrently be selected for addition to the input string displayed in thestring input section 705.

It will be obvious to one skilled in the art that many variations of theuser interface screen 700 can be used in accordance with the presentinvention. The various elements of the user interface screen can berearranged in position. Furthermore, certain elements can be removed, oradditional elements can be added. In some embodiments, there can be morethan two independently scrollable character selection sections. Forexample, there can be both an upper-case alphabetic character selectionsection and a lower-case alphabetic character selection section.Alternatively, there can be a first alphabetic character selectionsection having the alphabetic characters from “a” to “m”, and a secondalphabetic character selection section having the alphabetic charactersfrom “n” to “z”. There can also be other variations to the userinterface screen 700. For example, there can be a “shift control” in thecontrol section that allows the user to toggle between upper-casecharacters and lower-case characters.

Returning to a discussion of FIG. 6, an accept string input step 615 isnext used to accept user input using the user controls 34 (FIG. 3A) tosequentially select characters to specify the desired text string. In apreferred embodiment, the characters are selected by user manipulationof the up input button 305, the down input button 310, the left inputbutton 315, the right input button 320 and the confirmation input button325. In particular, the up input button 305 and the down input button310 are used to select one of the scrollable character selectionsections (i.e., the alphabetic character selection section 715 or thenumeric/symbolic character selection section 720). The left input button315 and the right input button 320 are then used to scroll through thepredefined set of characters in the selected scrollable characterselection section to select a particular character, and the confirmationinput button 325 is used to add the selected particular character to theinput string displayed in the string input section 705.

In a preferred embodiment, as the user presses the left input button 315and the right input button 320 to scroll through the set of charactersin the selected scrollable character selection section, the set ofcharacters will shift to the left or right accordingly so that theselected character 740 remains in the center of the character selectionsection. In other embodiments, the selected character 740 moves to theleft or right within the character selection section upon activation ofthe left input button 315 or the right input button 320 until it reachesthe side of the character selection section. At that point, the set ofcharacters will shift to the left or the right upon further activationof the left input button 315 or the right input button 320.

Consider the example shown in FIG. 7A where thus far the user hasentered the input string “na”. If the user desires to enter the inputstring “name @email.com”, the user would press the right input button320 repeatedly until the letter “m” is positioned to be the selectedcharacter 740. In some embodiments, the user can press and hold theright input button 320 in order to advance through the characters at apredetermined rate (e.g., 2 characters/second). The user would thenpress the confirmation input button 325 to add an “m” to the inputstring. Next, the user would press the left input button 315 repeatedlyuntil the letter “e” is positioned to be the selected character 740, andwould press the confirmation input button 325 to add an “e” to the inputstring. FIG. 7B illustrates a user interface screen 750 corresponding tothe content displayed in the image display 32 at this point.

Since the next character to be added to the input string is a symboliccharacter (“@”), the user would press the down input button 310 toselect the numeric/symbolic character selection section 720, and wouldpress the right input button 320 until the “@” symbol is positioned tobe the selected character 740. The user would then press theconfirmation input button 325 to add the “@” symbol to the input string.FIG. 7C illustrates a user interface screen 760 corresponding to thecontent displayed in the image display 32 at this point.

In a similar manner, the user would manipulate the up input button 305,the down input button 310, the left input button 315, the right inputbutton 320 and the confirmation input button 325 to add the characters“email.com” to the input string. FIG. 7D illustrates a user interfacescreen 770 corresponding to the content displayed in the image display32 at this point.

The various user controls 34 (FIG. 3A) can also be used to access theother control features shown in the user interface screen 700 (FIG. 7A).For example, the up input button 305, the down input button 310, theleft input button 315, the right input button 320 can be manipulated tohighlight the character deletion control 710. The confirmation inputbutton 325 can then be pressed to delete the character to the left ofthe insertion point indicator 785. Similarly, the up input button 305,the down input button 310, the left input button 315, the right inputbutton 320 can be manipulated to highlight the string input section 705.The left input button 315 and the right input button 320 can then beused to move the position of the insertion point indicator 785 withinthe input string. This enables the user to add or delete characters inthe middle of the input string. FIG. 7E shows a user interface screen780 where the insertion point indicator 785 has been positioned betweenthe “1” and the “.” characters.

Returning to a discussion of FIG. 6, an accept string input terminationstep 620 is used to accept user input terminating the string inputoperation. There are two ways that the string input can be terminated,by accepting the string input, or by cancelling the string input. Asillustrated in FIG. 7F, which shows a user interface screen 790, thestring input can be accepted by manipulating the up input button 305,the down input button 310, the left input button 315, the right inputbutton 320 to highlight the OK control 730. The confirmation inputbutton 325 can then be pressed to accept the entered input string 625.The input string 625 can then be saved in a processor-accessible memory(e.g., image memory 30 in FIG. 1) using a store input string step 630(FIG. 6). Conversely, the user can manipulate the user controls 34 tohighlight the cancel control 725 (FIG. 7F). The confirmation inputbutton 325 (FIG. 3A) can then be pressed to cancel the string inputoperation without storing the input string 625.

The invention has been described in detail with particular reference tocertain preferred embodiments thereof, but it will be understood thatvariations and modifications can be effected within the spirit and scopeof the invention.

PARTS LIST

-   2 flash-   4 lens-   6 adjustable aperture and adjustable shutter-   8 zoom and focus motor drives-   10 digital camera-   12 timing generator-   14 image sensor-   16 ASP and A/D Converter-   18 buffer memory-   20 processor-   22 audio codec-   24 microphone-   26 speaker-   28 firmware memory-   30 image memory-   32 image display-   34 user controls-   36 display memory-   38 wired interface-   40 computer-   44 video interface-   46 video display-   48 interface/recharger-   50 wireless modem-   52 radio frequency band-   58 wireless network-   70 Internet-   72 photo service provider-   90 white balance setting-   95 white balance step-   100 color sensor data-   105 noise reduction step-   110 ISO setting-   115 demosaicing step-   120 resolution mode setting-   125 color correction step-   130 color mode setting-   135 tone scale correction step-   140 contrast setting-   145 image sharpening step-   150 sharpening setting-   155 image compression step-   160 compression mode setting-   165 file formatting step-   170 metadata-   175 user settings-   180 digital image file-   185 camera settings-   190 environmental attribute readings-   300 five-way controller-   305 up input button-   310 down input button-   315 left input button-   320 right input button-   325 confirmation input button-   330 share button-   335 delete button-   340 review button-   345 capture mode button-   350 tools button-   360 controller ring-   365 joy stick-   370 up direction-   375 down direction-   380 left direction-   385 right direction-   400 select captured video step-   405 digital video sequence-   410 initiate trimming operation step-   415 display instructions step-   420 display frame representation step-   425 accept user input step-   430 confirm trimming selection step-   435 provide trimmed video step-   440 trimmed digital video sequence-   445 stored trimmed video sequence step-   500 user interface screen-   505 select marker instructions-   510 move marker instructions-   515 next instructions-   520 OK control-   525 user interface screen-   530 displayed video frame-   535 timeline-   540 start frame marker-   545 end frame marker-   550 user interface screen-   555 excluded start timeline portion-   560 trimmed timeline portion-   565 user interface screen-   570 user interface screen-   575 excluded end timeline portion-   580 user interface screen-   585 menu choices-   590 selection box-   605 initiate string input operation step-   610 display string input interface step-   615 accept string input step-   620 accept string input termination step-   625 input string-   630 store input string step-   700 user interface screen-   705 string input section-   710 character deletion control-   715 alphabetic character selection section-   720 numeric/symbolic character selection section-   725 cancel control-   730 OK control-   735 selected character section box-   740 selected character-   750 user interface screen-   760 user interface screen-   770 user interface screen-   780 user interface screen-   785 insertion point indicator-   790 user interface screen

The invention claimed is:
 1. A device comprising: a user interfaceconfigured to receive at least one of a first input, a second input, athird input, a fourth input or a confirmation input; memory configuredto store a digital video sequence comprising a sequence of frames; adisplay configured to display a currently selected frame of the digitalvideo sequence; wherein the device is configured to: activate a startframe selection mode in response to the user interface receiving thefirst input, wherein changing the position of a start frame markercauses the currently selected frame to scroll to a corresponding frameat the position of the start frame marker; activate an end frameselection mode in response to the user interface receiving the secondinput, wherein the start frame selection mode is separate from the endframe selection mode, wherein changing the position of an end framemarker causes the currently selected frame to scroll to a correspondingframe at the position of the end frame marker; scroll through thedigital video sequence in a first temporal direction in response to theuser interface receiving the third input; scroll through the digitalvideo sequence in a second temporal direction in response to the userinterface receiving the fourth input; establish a start frame as acurrently selected frame in response to the user interface receiving astart frame selection input while the device is in the start frameselection mode, wherein the start frame selection input is separate fromthe first input; establish an end frame as the currently selected framein response to the user interface receiving an end frame selection inputwhile the device is in the end frame selection mode, wherein the endframe selection input is separate from the second input, and wherein thedisplay is further configured to display an indication of whether thestart frame selection mode is selected or the end frame selection modeis selected; and store in the memory a trimmed digital video sequencecomprising frames of the digital video sequence between the start frameand the end frame.
 2. The device of claim 1, wherein the user interfacecomprises a joystick, wherein the joystick is configured to be: moved inan up direction to provide the first input, moved in a down direction toprovide the second input, moved in a left direction to provide the thirdinput, and moved in a right direction to provide the fourth input. 3.The device of claim 2, wherein the joystick is further configured to bedepressed in a fifth direction to provide the confirmation input,wherein the fifth direction is orthogonal to a plane comprising the updirection, the down direction, the left direction, and the rightdirection.
 4. The device of claim 1, wherein the display is furtherconfigured to display a timeline graphic indicating a relative positionof the currently selected frame within the digital video sequence. 5.The device of claim 1, wherein the device is configured to scrollthrough the digital video sequence at a predetermined number of framesfor each third input received and each fourth input received.
 6. Thedevice of claim 1, wherein the device is configured to scroll throughthe digital video sequence at a predetermined rate while the third inputis received or the fourth input is received.
 7. The device of claim 6,wherein the predetermined rate is increased if the third input or fourthinput is received for longer than a predetermined period of time.
 8. Thedevice of claim 1, wherein the device is further configured to displayan instructions screen that provides guidance about the functionality ofthe user interface.
 9. The device of claim 1, wherein the display isfurther configured to display a confirmation screen before storing thetrimmed digital video sequence, and wherein the confirmation screenincludes a menu of options indicating whether the trimmed digital videosequence should be saved.
 10. The device of claim 9, wherein theconfirmation screen includes a menu option enabling a preview of thetrimmed digital video sequence.
 11. The device of claim 1, wherein thetrimmed digital video sequence is stored in a new digital video file.12. The device of claim 1, wherein the trimmed digital video sequence isstored by storing metadata associated with the selected digital videosequence, and wherein the metadata comprises an indication of the startframe and the end frame.
 13. The device of claim 1, wherein the selecteddigital video sequence is replaced by the trimmed digital videosequence.
 14. The device of claim 1, wherein the display is furtherconfigured to play the trimmed digital video sequence.
 15. The device ofclaim 1, wherein the display is not touch sensitive and has a diagonaldimension of less than 2 inches.
 16. The device of claim 1, wherein theuser interface is further configured to receive an input indicating anoptional trimming mode where the trimmed digital video sequence isformed by deleting the frames between the start frame and the end framefrom the selected video sequence.
 17. The device of claim 1, wherein thetrimmed digital video sequence does not comprise frames of the digitalvideo sequence outside the start frame and the end frame.
 18. The deviceof claim 1, wherein the start frame is the currently selected frame whenthe device is transitioned out of the start frame selection mode, andwherein the end frame is the currently selected frame when the device istransitioned out of the end frame selection mode.
 19. The device ofclaim 1, wherein the first input corresponds to a first button, thesecond input corresponds to a second button, the third input correspondsto a third button, and the fourth input corresponds to a fourth button;wherein the first button and the second button comprise a first axis andthe third button and the fourth button comprise a second axis; andwherein the first axis is perpendicular to the second axis.
 20. Thedevice of claim 19, wherein the first button is an up button, the secondbutton is a down button, the third button is a left button, and thefourth button is a right button.
 21. The device of claim 1, wherein thedevice comprises a digital camera.
 22. A method comprising: receiving,by a processor, at least one of a first input, a second input, a thirdinput, a fourth input, or a confirmation input from a user interface;storing, in memory, a digital video sequence comprising a sequence offrames; displaying, on a display, a currently selected frame of thedigital video sequence; transitioning, by the processor, to a startframe selection mode in response to the user interface receiving thefirst input, wherein changing the position of a start frame markercauses the currently selected frame to scroll to a corresponding frameat the position of the start frame marker; transitioning, by theprocessor, to an end frame selection mode in response to the userinterface receiving the second input, wherein the start frame selectionmode is separate from the end frame selection mode, wherein changing theposition of an end frame marker causes the currently selected frame toscroll to a corresponding frame at the position of the end frame marker;scrolling, by the processor, through the digital video sequence in afirst temporal direction in response to the user interface receiving thethird input; scrolling, by the processor, through the digital videosequence in a second temporal direction in response to the userinterface receiving the fourth input; establishing, in the memory, astart frame as a currently selected frame in response to the userinterface receiving a start frame selection input while the device is inthe start frame selection mode, wherein the start frame selection inputis separate from the first input; establishing, in the memory, an endframe as the currently selected frame in response to the user interfacereceiving an end frame selection input while the device is in the endframe selection mode, wherein the end frame selection input is separatefrom the second input; displaying, on the display, an indication ofwhether the start frame selection mode is selected or the end frameselection mode is selected; and storing, in the memory, a trimmeddigital video sequence comprising frames of the digital video sequencebetween the start frame and the end frame.
 23. A non-transitory computerreadable medium having stored thereon instructions executable by aprocessor to cause the processor to perform operations comprising:receiving, from a user interface, at least one of a first input, asecond input, a third input, a fourth input, or a confirmation input;storing a digital video sequence comprising a sequence of frames;displaying, on a display, a currently selected frame of the digitalvideo sequence; transitioning to a start frame selection mode inresponse to the user interface receiving the first input, whereinchanging the position of a start frame marker causes the currentlyselected frame to scroll to a corresponding frame at the position of thestart frame marker; transitioning to an end frame selection mode inresponse to the user interface receiving the second input, wherein thestart frame selection mode is separate from the end frame selectionmode, wherein changing the position of an end frame marker causes thecurrently selected frame to scroll to a corresponding frame at theposition of the end frame marker; scrolling through the digital videosequence in a first temporal direction in response to the user interfacereceiving the third input; scrolling through the digital video sequencein a second temporal direction in response to the user interfacereceiving the fourth input; establishing a start frame as a currentlyselected frame in response to the user interface receiving a start frameselection input while the device is in the start frame selection mode,wherein the start frame selection input is separate from the firstinput; establishing an end frame as the currently selected frame inresponse to the user interface receiving an end frame selection inputwhile the device is in the end frame selection mode, wherein the endframe selection input is separate from the second input, and wherein thedisplay is further configured to display an indication of whether thestart frame selection mode is selected or the end frame selection modeis selected; and storing a trimmed digital video sequence comprisingframes of the digital video sequence between the start frame and the endframe.